package com.yz.service;

import com.yz.pojo.Blog;
import com.yz.pojo.dto.BlogDto;

import java.util.List;

public interface BlogService {

    // 查询所有的文章
    List<BlogDto> queryAllBlog();

    // 查询所有的文件。返回类型为Blog.class
    List<Blog> queryAllBlogForBlog();

    // 分页查询博客,从 start 开始,每页 count 条数据
    List<BlogDto> pagingQuery(Integer start, Integer count);

    // 删除博客
    int deleteBlog(Integer[] ids);

    // 根据博客标题、分类查询博客
    List<BlogDto> queryBlogByTitleOrCategory(String keyword);

    // 查询总文章数
    int countBlog(Integer blogStatus);

    // 增加博客
    int saveBlog(Blog blog/*, BlogTag blogTag*/);

    // 修改博客
    int updateBlog(Blog blog);

    // 根据博客的id查询博客
    Blog queryBlogById(Integer blogId);

    // 查询已经发布的博客
    List<Blog> queryPublishedBlog();

    // 查询浏览量最高的四个博客
    List<BlogDto> queryTopViewsBlogs();

    // 查询最新发布的四篇博客
    List<BlogDto> queryRentBlogs();

    // 根据标签查询博客
    List<BlogDto> queryForTagId(Integer tagId);

    // 根据分类查询博客
    List<BlogDto> queryForCategoryId(Integer start, Integer count, Integer categoryId);

    // 根据类别，统计博客数
    int countForCategoryId(Integer categoryId);

    // 博客浏览数加 1
    public boolean viewsIncr(Integer blogId);

    // 增加完博客添加 标签的联系
    int updateBlogTag(Integer blogId, Integer[] tagIds);
}
